#define _XOPEN_SOURCE 500

int	AgregarAColaDePedidosADisco(struct ListaIDdescriptors ** pnodo, struct ListaIDdescriptors ** ListaDeIDPedidos, struct ListaIDdescriptors ** ListaDeIDPedidos_Ult );
void imprimirCola(struct ListaIDdescriptors *ptrActual);
//struct ListaIDdescriptors * SacarNodoDescriptoresDeLista(struct ListaIDdescriptors ** ListaDeIDPedidos, struct ListaIDdescriptors ** ListaDeIDPedidos_Ult);
int estaVacia(struct ListaIDdescriptors * ListaDeIDPedidos);
int longitud(struct ListaIDdescriptors *  ptrActual);
void insertarSegunAlgoritmo(struct ListaIDdescriptors ** pnodo, struct ListaIDdescriptors ** ListaDeIDPedidos, struct ListaIDdescriptors ** ListaDeIDPedidos_Ult,int posicionCabezal,int modo);
int buscarTrace(int sector);
void imprimirColaClientes(listaPFS *ptrActual);


void Insertar (struct ListaIDdescriptors ** pnodo, struct ListaIDdescriptors ** ListaDeIDPedidos, struct ListaIDdescriptors ** ListaDeIDPedidos_Ult,struct ListaIDdescriptors ** listaSegundaPasada);

void InsertarSegundaPasada (struct ListaIDdescriptors ** pnodo, struct ListaIDdescriptors ** ant, struct ListaIDdescriptors ** segundaPasada,struct ListaIDdescriptors ** ult);


void insertarSegunAlg(struct ListaIDdescriptors ** pnodo, struct ListaIDdescriptors ** ListaDeIDPedidos, struct ListaIDdescriptors ** ListaDeIDPedidos_Ult,struct ListaIDdescriptors **segundaPasada,int posicionCabezal,int modo);
	
struct ListaIDdescriptors * SacarNodoDescriptoresDeLista(struct ListaIDdescriptors ** ListaDeIDPedidos, struct ListaIDdescriptors ** ListaDeIDPedidos_Ult,struct ListaIDdescriptors ** listaSegundaPasada);


int agregarAListaDeClientes(listaPFS ** pnodo, listaPFS ** LClientes, listaPFS ** LClientes_Ult);
int	SacarDeLista_Clientes(listaPFS ** pnodo, listaPFS ** LClientes, listaPFS ** LClientes_Ult);
